import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace DingdDeptInfoApi {
  /** 摩西部门信息信息 */
  export interface DingdDeptInfo {
    id: number; // 编号
    deptId?: number; // 部门ID
    code: string; // 部门编码
    name?: string; // 部门名称
    parentId?: number; // 父部门id，根部门为1
    sourceIdentifier: string; // 部门标识
    deptDesc: string; // 部门简介
    workPlace: string; // 办公地点
    orderNum: number; // 在父部门中的次序值
    deptManagerUseridList: string; // 部门的主管userd列表
    memberCount: number; // 部门员工数（包含子部门）
    owningMemberCount: number; // 部门直属员工数（不包含子部门）
  }
  // 列表信息
   export interface tableInfo {
    // id: number; // 编号
    name: string; // 用户姓名
    avatar: string; // 头像
    mobile: string; // 手机号码
    jobNumber: string; // 员工工号
    title: string; // 职位
    shouldAttendanceDays: number; // 应出勤天数
    attendanceDays: number; // 出勤天数
    absenteeismDays: number; // 旷工天数
    makingUpLackTimes: number; // 补卡次数
    attendanceRestDays: number; // 休息天数
    attendResult: string; // 考勤结果
  }
}
//摩西部门同步
export function getDingdDeptInfoSync() {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/sync', );
}
export function getDingdDeptInfoSyncState() {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/getSyncState', );
}

/** 查询摩西部门信息树 */
export function getDingdDeptInfoTree(params: PageParam) {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/tree', { params });
}

//查询列表
export function getStatPage(params: PageParam) {
  return requestClient.get<PageResult<DingdDeptInfoApi.tableInfo>>('/moxi/dingd-attendance-stat/getStatPage', { params });
}

// 获取用户考勤明细
export function getDetailByMonth(params: PageParam) {
  return requestClient.get<any>('/moxi/dingd-attendance-stat/getDetailByMonth', { params });
}



